package net.guerlab.smart.platform.user.core.searchparams;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import net.guerlab.spring.searchparams.AbstractSearchParams;
import net.guerlab.spring.searchparams.SearchModel;
import net.guerlab.spring.searchparams.SearchModelType;

import javax.persistence.Column;
import java.util.Collection;

/**
 * 用户oauth信息搜索参数
 *
 * @author guer
 */
@Setter
@Getter
@ApiModel("用户oauth信息搜索参数")
public class UserOauthSearchParams extends AbstractSearchParams {

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private Long userId;

    /**
     * 用户ID列表
     */
    @ApiModelProperty("用户ID列表")
    @SearchModel(SearchModelType.IN)
    @Column(name = "userId")
    private Collection<Long> userIds;

    /**
     * 类型
     */
    @ApiModelProperty("类型")
    private String type;

    /**
     * 类型列表
     */
    @ApiModelProperty("类型列表")
    @SearchModel(SearchModelType.IN)
    @Column(name = "type")
    private Collection<String> types;

    /**
     * 第三方ID
     */
    @ApiModelProperty("第三方ID")
    private String thirdPartyId;

    /**
     * 第三方ID列表
     */
    @ApiModelProperty("第三方ID列表")
    @SearchModel(SearchModelType.IN)
    @Column(name = "thirdPartyId")
    private Collection<String> thirdPartyIds;
}
